package com.sy.mapper;

import com.sy.dto.AdminInfo;
import com.sy.entity.Admin;
import com.sy.vo.AdminInfoVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface AdminMapper {
    /**
     * 根据管理员用户名查找管理员
     * @param account
     * @return
     */
    Admin getAdminByAccount(String account);

    /**
     * 根据管理员id查找管理员
     * @param id
     * @return
     */
    Admin getAdminById(String id);
    /**
     * 根据管理员id查找管理员
     * @param id
     * @return
     */
    AdminInfo getAdminInfoById(String id);

    /**
     * 修改管理员信息
     */
    boolean updateAdminInfo(AdminInfoVo adminInfoVo);
    /**
     * 更改密码
     * @param newPwd
     * @param id
     * @return
     */
    boolean changeAdminPwd(@Param("newPwd") String newPwd, @Param("id") String id);

    /**
     * 根据管理员id修改管理员信息
     * @param admin
     * @return
     */
    boolean updateAdminInfoById(Admin admin);

    /**
     * 根据管理员id修改管理员密码
     * @param admin
     * @return
     */
    boolean updateAdminPwdById(Admin admin);

    Integer getAdminCountByPhone(String phone);
}
